/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package kurs;

/**
 *
 * @author Matrix
 */
public interface Queue {

    public int size();

    public boolean isEmpty();

    public BaseNode first() throws EmptyException;

    public BaseNode last() throws EmptyException;

    public void enqueue(BaseNode node);

    public BaseNode dequeue() throws EmptyException;

    public String printState()
            throws EmptyException;

    public BaseNode find(String info)
            throws EmptyException, NotFoundException;

}
